home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / contrib / supported / xypic / src / xydash10.mf < prev    next >
Text File  |  1995-03-15  |  2KB  |  69 lines

  1. % $Id: xydash10.mf,v 2.7 1992/12/14 01:41:26 kris Exp $
  2. %
  3. % XYDASH10: dashes for XY-pic at 10 point.
  4. % Copyright (c) 1991,1992  Kristoffer H. Rose  <kris@diku.dk>
  5. %
  6. % This file is part of the XY-pic macro package.
  7. %
  8. % The XY-pic macro package is free software; you can redistribute it and/or
  9. % modify it under the terms of the GNU General Public License as published by
  10. % the Free Software Foundation; either version 2 of the License, or (at your
  11. % option) any later version.
  12. %
  13. % The XY-pic macro package is distributed in the hope that it will be
  14. % useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
  16. % Public License for more details.
  17. %
  18. % You should have received a copy of the GNU General Public License along
  19. % with this macro package; if not, write to the Free Software Foundation,
  20. % Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21. % _________________________________________________________________________
  22. %
  23. % CONTENTS: Line segments going segl# in all rightward directions...each
  24. % character has  (width + italic correction) = cos(direction) * segl#.
  25. % _________________________________________________________________________
  26. %
  27. % SETUP:
  28. %
  29. font_identifier "XYDASH"; font_size 10pt#;
  30. mode_setup;
  31.  
  32. % METANESS...
  33. %
  34. segl# = 1/2 designsize; define_pixels(segl);        % segment length
  35. segx# = 1/5 designsize; define_pixels(segx);        % segment height
  36. segw# = .4pt#; define_whole_blacker_pixels(segw);    % segment thickness
  37. %
  38. pickup pencircle scaled segw; char_pen := savepen;
  39. %
  40. % chartowards makes char cc with length segl line from (0,0) towards (dx,dy)...
  41. %
  42. def chartowards(expr cc,dx,dy) =
  43.  beginchar(cc, abs(dx)*segl#, 0, 0);
  44.   a := angle(dx,dy);
  45.   z0 = (0,0); z1 = z0 + dir a scaled segl;
  46.   pickup char_pen; draw z0--z1;
  47.   charic := abs ((cosd a)*segl#) - charwd;
  48.   penlabels(0,1);
  49.  endchar
  50. enddef;
  51.  
  52. % TESTING...we redefine openit because the characters extend far to the
  53. % left of the bounding box!
  54. %
  55. def openit = openwindow currentwindow
  56.  from origin to (screen_cols,screen_rows) at (-200,300) enddef;
  57.  
  58. % GENERATE...
  59. %
  60. input xyd2
  61.  
  62. bye.
  63. %
  64. % $Log: xydash10.mf,v $
  65. % Revision 2.7  1992/12/14  01:41:26  kris
  66. % Now uses xyd2.mf.
  67. %
  68. % Based on obsolete xyline10.mf  2.1  1992/01/02  14:54:07  kris
  69.